package ar.edu.utn.frsf.tpae.a2014.g03.presentation.controller;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
import javax.faces.bean.SessionScoped;

import ar.edu.utn.frsf.tpae.a2014.g03.persistence.model.Cliente;
import ar.edu.utn.frsf.tpae.a2014.g03.persistence.model.Pedido;
import ar.edu.utn.frsf.tpae.a2014.g03.presentation.util.ServiceLocator;

@ManagedBean(name="historialPedidoBean")
@RequestScoped
public class HistorialPedidoBean  implements Serializable {

	private static final long serialVersionUID = 8448172842381754137L;
	@ManagedProperty(value="#{usuarioBean.usuario}")
	private Cliente cliente;
	private List<Pedido> listaPedidoFinalizado;
	private List<Pedido> listaPedidoEnCurso;
	private int tamPedidoEnCurso;
	private int tamPedidoFinalizado;
	
	public Cliente getCliente() {
		return cliente;
	}
	
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	

	public List<Pedido> getListaPedidoEnCurso() {
		listaPedidoEnCurso= new ArrayList<Pedido>();
		try{
			System.out.println("getListaPedidoEnCurso....");
			listaPedidoEnCurso = ServiceLocator.getHistorialPedidoService().findPedidosEnCurso(cliente);
			tamPedidoEnCurso= listaPedidoEnCurso.size();
			System.out.println("listaPedidoEncurso: "+ listaPedidoEnCurso.size());
			
		}
		catch(RuntimeException e){
			System.out.println("Exception getListaPedidoEnCurso "+e.getLocalizedMessage());
		}
		return listaPedidoEnCurso;
		
	}
	
	
	public List<Pedido> getListaPedidoFinalizado() {
		try{
			System.out.println("getListaPedidoFinalizado....");
			listaPedidoFinalizado= ServiceLocator.getHistorialPedidoService().findPedidosFinalizados(cliente);
			tamPedidoFinalizado= listaPedidoFinalizado.size();
		}
		catch(RuntimeException e){
			System.out.println("Error");
		}
		return listaPedidoFinalizado;
	}

	public void setListaPedidoFinalizado(List<Pedido> listaPedidoFinalizado) {
		this.listaPedidoFinalizado = listaPedidoFinalizado;
	}


	public void setListaPedidoEnCurso(List<Pedido> listaPedidoEnCurso) {
		this.listaPedidoEnCurso = listaPedidoEnCurso;
	}

	public int getTamPedidoEnCurso() {
		return tamPedidoEnCurso;
	}

	public void setTamPedidoEnCurso(int tamPedidoEnCurso) {
		this.tamPedidoEnCurso = tamPedidoEnCurso;
	}

	public int getTamPedidoFinalizado() {
		return tamPedidoFinalizado;
	}

	public void setTamPedidoFinalizado(int tamPedidoFinalizado) {
		this.tamPedidoFinalizado = tamPedidoFinalizado;
	}

	
}
